_g_c A GLX rendering context to be attached to _d_r_a_w and _r_e_a_d.
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
ggggllllXXXXMMMMaaaakkkkeeeeCCCCuuuurrrrrrrreeeennnnttttRRRReeeeaaaaddddSSSSGGGGIIII performs the same functions as ggggllllXXXXMMMMaaaakkkkeeeeCCCCuuuurrrrrrrreeeennnntttt, with
one important difference: it attaches a GLX context to two drawables,
rather than one. The second drawable serves as the source for any pixel
data that are read by ggggllllRRRReeeeaaaaddddPPPPiiiixxxxeeeellllssss, ggggllllCCCCooooppppyyyyPPPPiiiixxxxeeeellllssss, and OpenGL extension
commands that read color, depth, or stencil data from the framebuffer.
It may be an ordinary GLX drawable, or it may be a GLX video source (see
Both _d_r_a_w and _r_e_a_d must be RGBA format. However, it is not necessary for
_d_r_a_w and _r_e_a_d to have the same ancillary buffers.
It is also not necessary for _r_e_a_d to contain a buffer corresponding to
the current GGGGLLLL____RRRREEEEAAAADDDD____BBBBUUUUFFFFFFFFEEEERRRR of _g_c. For example, the current
GGGGLLLL____RRRREEEEAAAADDDD____BBBBUUUUFFFFFFFFEEEERRRR of _g_c might be GGGGLLLL____BBBBAAAACCCCKKKK, and _r_e_a_d might be single-buffered.
If there is no corresponding buffer in _r_e_a_d, then the pixel values
extracted from _r_e_a_d will be undefined, but no error will be generated.
Operations that query the value of GGGGLLLL____RRRREEEEAAAADDDD____BBBBUUUUFFFFFFFFEEEERRRR use the value set last
in _g_c, regardless of whether _r_e_a_d has the corresponding buffer.
ggggllllXXXXMMMMaaaakkkkeeeeCCCCuuuurrrrrrrreeeennnnttttRRRReeeeaaaaddddSSSSGGGGIIII returns TTTTrrrruuuueeee if it is successful, FFFFaaaallllsssseeee otherwise.
If FFFFaaaallllsssseeee is returned, the previously current rendering context and
BBBBaaaaddddMMMMaaaattttcccchhhh is generated if any of the following conditions hold:
1. _d_r_a_w was not created on the same X screen and visual as _g_c.
2. _r_e_a_d was not created on the same X screen as _g_c.
3. _r_e_a_d is not an RGBA drawable or video source.
4. _d_r_a_w is NNNNoooonnnneeee and _g_c is not NNNNoooonnnneeee.
5. _d_r_a_w is a GLX video source.
BBBBaaaaddddAAAAcccccccceeeessssssss is generated if _g_c was current to another thread at the time
ggggllllXXXXMMMMaaaakkkkeeeeCCCCuuuurrrrrrrreeeennnnttttRRRReeeeaaaaddddSSSSGGGGIIII was called.
GGGGLLLLXXXXBBBBaaaaddddDDDDrrrraaaawwwwaaaabbbblllleeee is generated if either _d_r_a_w or _r_e_a_d is not a valid GLX
drawable.
GGGGLLLLXXXXBBBBaaaaddddCCCCoooonnnntttteeeexxxxtttt is generated if _g_c is not a valid GLX context.
GGGGLLLLXXXXBBBBaaaaddddCCCCoooonnnntttteeeexxxxttttSSSSttttaaaatttteeee is generated if ggggllllXXXXMMMMaaaakkkkeeeeCCCCuuuurrrrrrrreeeennnnttttRRRReeeeaaaaddddSSSSGGGGIIII is called
between a ggggllllBBBBeeeeggggiiiinnnn and the corresponding call to ggggllllEEEEnnnndddd.
GGGGLLLLXXXXBBBBaaaaddddCCCCoooonnnntttteeeexxxxttttSSSSttttaaaatttteeee is also generated if the rendering context current to
the calling thread has OpenGL renderer state GGGGLLLL____FFFFEEEEEEEEDDDDBBBBAAAACCCCKKKK or GGGGLLLL____SSSSEEEELLLLEEEECCCCTTTT.
GGGGLLLLXXXXBBBBaaaaddddCCCCuuuurrrrrrrreeeennnnttttWWWWiiiinnnnddddoooowwww is generated if there are pending OpenGL commands for
the previous context and the current drawable is a window that is no
longer valid.
BBBBaaaaddddAAAAlllllllloooocccc may be generated if the server has delayed allocation of
ancillary buffers until ggggllllXXXXMMMMaaaakkkkeeeeCCCCuuuurrrrrrrreeeennnnttttRRRReeeeaaaaddddSSSSGGGGIIII is called, only to find
that it has insufficient resources to complete the allocation.
SSSSGGGGIIII____mmmmaaaakkkkeeee____ccccuuuurrrrrrrreeeennnntttt____rrrreeeeaaaadddd is currently supported only on RealityEngine,
RealityEngine2, and VTX systems. On these systems: (1) when _r_e_a_d is not
a video source (see ggggllllXXXXCCCCrrrreeeeaaaatttteeeeGGGGLLLLXXXXVVVViiiiddddeeeeooooSSSSoooouuuurrrrcccceeeeSSSSGGGGIIIIXXXX) it must have the same
color component resolution as _d_r_a_w. A BBBBaaaaddddMMMMaaaattttcccchhhh error is generated
otherwise; (2) when _d_r_a_w is a pixmap then _r_e_a_d must be the same pixmap.
A BBBBaaaaddddAAAAlllllllloooocccc error is generated otherwise.
On RealityEngine, RealityEngine2, and VTX systems it is not possible to
use a context for rendering to both windows and pixmaps.